package com.talent.service;

import com.talent.common.PageResult;
import com.talent.pojo.dto.SpotDTO;
import com.talent.pojo.entity.Spot;
import org.springframework.web.multipart.MultipartFile;

import jakarta.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * 点位服务接口
 */
public interface SpotService {

    /**
     * 分页查询点位
     */
    PageResult<Spot> pageQuery(Integer page, Integer pageSize, String name, String address, String contactPerson, String contact, String trainingInstitution, Long categoryId);

    /**
     * 根据ID查询点位
     */
    Spot getById(Long id);

    /**
     * 新增点位
     */
    void save(SpotDTO spotDTO);

    /**
     * 更新点位
     */
    void update(Long id, SpotDTO spotDTO);

    /**
     * 批量删除点位
     */
    void deleteByIds(Long[] ids);

    /**
     * 导入点位
     */
    void importSpots(MultipartFile file);

    /**
     * 导出点位
     */
    void exportSpots(Long[] ids, HttpServletResponse response);

    /**
     * 为点位分配服务菜单
     */
    void assignServices(Long spotId, List<Long> serviceIds);

    List<Spot> getSpots();

    void stopImport();
}
